#include <iostream>
#include <vector>

using namespace std;

const int N = 30;

int n;
vector<int> a[N];

typedef pair<int, int> PLL;

PLL find(int x)
{
	for(int i = 0; i < n; i++)
	{
		for(int j = 0; j < a[i].size(); j++)
		{
			if(a[i][j] == x)
				return {i, j};
		}
	}
}

void clean(int x1, int y1) // 归为
{
	for (int i = y1 + 1; i < a[x1].size(); i++)
	{
		int t = a[x1][i];
		a[t].push_back(t);
	}
	a[x1].resize(y1 + 1);
}

void move(int x1, int y1, int x2) // 移动
{
	for (int i = y1; i < a[x1].size(); i++) a[x2].push_back(a[x1][i]);

	a[x1].resize(y1);
}


int main()
{
	cin >> n;
	for(int i = 0; i < n; i++)
	{
		a[i].push_back(i);
	}

	string op1, op2;
	int a,  b;

	while (cin >> op1 >> a >> op2 >> b)
	{
		// 查早a和b的位置
		PLL p = find(a);
		int x1 = p.first, y1 = p.second;
		find(b);
		int x2 = p.first, y2 = p.second;

		if (op1 == "move")
			clean();
		if (op2 == "onto")
			clean();
		move(x1, y1, x2);
	}
	for(int i = 0; i < )
	return 0;
}

